package tt.dz.egobus.servicemanager.core.lock;

/**
 * @author Anson
 * @date 17-3-28
 * @name 缓存锁，需要考虑到分布或者集群的时候，原子性的锁处理
 * @since 1.0.3
 */
public interface CacheLock {
    /**
     * @author Anson
     * @date 17-3-28
     * @name 获取某个对象的锁，一些基于对象操作的原子性处理，需要添加锁的概念</br>
     * 仅当当前能够获取真正锁的时候，才能进行下一步操作
     * @since 1.0.3
     */
    boolean aquireLock();

    /**
     * @author Anson
     * @date 17-3-28
     * @name 释放其锁
     * @since 1.0.3
     */
    boolean unlock();
}